技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2025 iThome 鐵人賽
DAY
16
0
DevOps
DevOps 進化論:從全能型戰士到安全守門員
系列 第
16
篇
Day 16 : 高可用與自動擴展:HPA、PDB 與 Deployment 策略圖解
17th鐵人賽
devops
helm
k8s
yaml
codeseeker2024
2025-08-29 12:54:00
100 瀏覽
分享至
● 前言
昨天我們透過 Helm Chart 把 Deployment / Service / Ingress / ConfigMap / Secret 模板化。今天來換個節奏,用「觀念+圖解」的方式,快速認識 Kubernetes 在高可用(HA)與自動擴展(scaling)上的幾個核心機制。
● 核心觀念
1.ReplicaSet vs Deployment
Deployment 為何比 ReplicaSet 更實用?
▪ReplicaSet:確保 Pod 的數量符合設定,但沒有版本控制。
▪Deployment:在 ReplicaSet 之上,支援滾動更新與回滾,才是主流的應用部署方式。
📌 圖解:Deployment → 管理多個 ReplicaSet → ReplicaSet 再管理 Pod。
2.HPA(Horizontal Pod Autoscaler)
「遇到流量暴增,要怎麼自動擴展?」
▪根據 CPU / Memory(或自定義 metrics)自動調整 Pod 數量。
▪適合應付流量高峰,避免資源浪費。
▪實戰常見 CPU threshold:50%~70%,避免過度頻繁的伸縮。
📌 圖解:流量上升 → HPA 擴增 Pod → 負載平均分散。
3.PDB(PodDisruptionBudget)
「升級時如何避免一次掛光?」
▪限制同時可中斷的 Pod 數量,避免維護或升級時導致服務不可用。
▪常用場景:Cluster 升級、節點重啟時保護關鍵服務。
📌 圖解:有 3 個 Pod,PDB 設定 minAvailable: 2 → 任何時刻至少保留 2 個 Pod。
4.Readiness Probe / Readiness Gate
「Pod 什麼時候才算真正 Ready?」
▪常搭配 Liveness Probe,分別處理『是否可接流量』與『是否還活著』。
▪控制 Pod 何時對外「可用」。
▪在應用尚未初始化完成前,不會被加入 Service 負載平衡。
📌 圖解:Pod Ready 狀態 = ✅ 才能接收流量。
● 總結
今天主要用 圖解+最小 YAML 來認識高可用與自動擴展的核心工具:
▪Deployment 負責滾動更新與回滾→ 解決版本更新。
▪HPA 幫你自動水平擴展→ 解決流量高峰。
▪PDB 確保升級或維護時不會全部掛掉→ 解決維護容錯。
▪Readiness Probe 控制 Pod 何時能真正接流量→ 解決啟動可用性。
🧭「高可用不是靠單一機制,而是 Deployment × HPA × PDB × Probe的組合拳。」
👉 下一篇 : Day 17 : Terraform 佈署雲端資源
留言
追蹤
檢舉
上一篇
Day 15:從 YAML 到 Helm:打造可重用的部署模板
下一篇
Day 17 : 使用 Terraform 打造 AWS × GCP 混合雲基礎架構
系列文
DevOps 進化論:從全能型戰士到安全守門員
共
19
篇
目錄
RSS系列文
訂閱系列文
6
人訂閱
15
Day 15:從 YAML 到 Helm:打造可重用的部署模板
16
Day 16 : 高可用與自動擴展:HPA、PDB 與 Deployment 策略圖解
17
Day 17 : 使用 Terraform 打造 AWS × GCP 混合雲基礎架構
18
Day 18 : 從 Terraform 到 Helm:IaC 的雙核心
19
Day 19 : Terraform × Helm : 與 CI/CD 的無縫串接
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
389
組
團體組數
13
組
累計文章數
2744
篇
最後報名日
9/15
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
17th鐵人賽
windows
php
c#
windows server
linux
css
react
熱門問題
關於 ADDC及DNS SERVER的設定提問
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
不知道網路紅隊的要去那加公司
更換FW後Public IP service無法使用
鼎新ERP欄位可修改預設值嗎
Ansible 連線主機的 port 不是 22 遇到的問題
求檔案分級軟體\手機outlook簽核軟體推薦
備份映像檔
Outlook 寄件備份消失問題 (已解決)
熱門回答
關於 ADDC及DNS SERVER的設定提問
鼎新ERP欄位可修改預設值嗎
不知道網路紅隊的要去那加公司
中介系統的用處
VMware vCenter Server 不明原因時間跑掉 憑證異常超成一連串異常
熱門文章
第8天,省錢三大關鍵字:自動化、共用、開源 / 陳家莊魯肉飯 小魚干辣椒很讚(新北土城)| 30天滷肉飯
Day26 Vibe Coding 所帶來的影響
什麼是 Signal ?
序: AI 加速編碼後,你該學什麼?
第10天,No-Code 快速上線又省錢 / 原汁排骨湯 台北最好喝的排骨湯(台北萬華)| 30天滷肉飯
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}